Log In  
[back to top]

[ :: Read More :: ]

My next Pico-8 game, Buzzkill, is nearly complete. The only thing way outside my skill zone is music, so I'm looking for someone that might be interested in having their music showcased in my game. Your name will be on in-game credits and in code.

Figure it's worth a shot to ask...worst case is no one bites and I'm no worse off.

Would be most interested in 2 tracks. One for normal level play and one for the boss level. It's a arcade shooter so something up tempo and fun. Pieces can be short...doesn't have to be The Planets or anything.

Here are some screenshots of the game in-progress to help spark ideas.

Please post a reply if interesting and we'll get in touch. Thanks!

Title screen

Game play

Boss level

P#25381 2016-07-16 00:08 ( Edited 2016-07-16 04:08)

[ :: Read More :: ]

I have a routine where I'm checking a pixel color at a certain x/y to determine whether or not to place a new sprite there. If it's black, it's open; if it's white, it's unavailable. I'm doing this in the _update() loop but I'm often getting cases where it'll place a sprite twice in the same place rather than just once.

After going through my code again and again, it struck me that having the pixel check in the update() might not be the best place. Wondering if doing pixel checks in the draw() are more reliable because there's cases where update() could be slower/faster than draw()...?

I chose to do pixel checking to avoid having to loop through an array checking x/y coordinates every time but it sounds like that may be more reliable?

Any thoughts/insight is appreciated.

P#24765 2016-07-06 22:45 ( Edited 2016-07-08 01:19)

[ :: Read More :: ]

I know it's best to put your games "everywhere" but I really don't really want to spend all that time to re-post things 50 different places. So where do you think is the best place to post and share Pico-8 games?

Itch.io seems to be the go-to spot as promoted even here by Pico8 but I know of Kongregate and probably others too.

I've never really bothered to share anything I've made outside my own blogs and stuff (never really had stuff worth sharing) so just wondering what people's experiences are with promotional sites, etc.

P#23759 2016-06-27 16:11 ( Edited 2016-06-28 07:27)

[ :: Read More :: ]

Is there any way to rotate or flip a sprite map?

I have a platformer room that is a sprite map but want to be able to rotate/flip the map so I can get several rooms out of a single drawn room.

My alternative is to use the map as a blueprint and then just draw the sprites myself in the loop at coordinates so I can rotate them that way, but sounds like quite a bit of effort (for me and the P8). So hoping I can manipulate the sprite map somehow.

P#23490 2016-06-23 10:34 ( Edited 2016-06-24 03:55)

[ :: Read More :: ]

I'm trying to make a platformer that just uses pixel colors as a way to check for the ground/walls of a level, no sprite flags. At first it seems to work, the guy (stick) moves left/right and jumps on the initial ground just fine. But then when you jump up on the platform to the right and either walk or jump off back to the left, he sinks into the ground.

Sorry, this cartridge is not currently available.
by
Cart #23455 | 2016-06-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

See code below, but what I'm doing is checking the pixel immediately below the stick to see if it's a ground color and if so, stop applying the gravity. Seems simple enough...made sense to me but I'm clearly missing something.

I'm happy with the jumping action, it's nice and smooth and such but landing seems to be an issue. If anyone has suggestions for my code or just insight in general, I appreciate it. Making a platformer is new to me...I usually make shmup games :)

NOTE: Code as-is is not checking for left/right collisions, just ground for jumping.

t=0
colors={wall=7,air=0,player=8}
debug=false

--
-- player
--
positionX = 40;
positionY = 89;
velocityX = 2;
velocityY = 0;
gravity = 0.5;
onGround = false;

function _update()
    btnright=btn(1)
    btnleft=btn(0)
    btnjump=btn(4)

    --horizontal movement
    if btnleft then positionX-=velocityX end
    if btnright then positionX+=velocityX end

    if positionX>127 then positionX=127 end
    if positionX<0 then positionX=0 end

    --jump, apply velocity
    if btnjump and onGround then
        velocityY = -3.5;
        onGround = false;
    end

    --calc in gravity and add to Y
    velocityY += gravity;
    positionY += velocityY;

    --check pixel below player to see if it's a wall color
    local below=flr(positionY+1)
    if pget(positionX, below)==colors.wall then
        positionY = below-1;
        velocityY = 0;
        onGround = true;
    end

    debug=pget(positionX, below)

    t+=1
end

function _draw()
    cls()

    line(positionX,positionY, positionX,positionY-2, colors.player) --draw stick up from foot
    pset(positionX,positionY, 10) --foot

    --ground
    rectfill(0,90, 128,128, 7)
    rectfill(100,82, 128,128, 7)

    print(debug,0,120,1)
    print(positionX..", "..positionY, 90,120,2)
end

P#23457 2016-06-22 20:59 ( Edited 2016-06-23 03:48)

[ :: Read More :: ]

I see % all over and have even copied it but have no idea what it means or does...

For example:

local b=13
local a=flr(b/2)%2

I know this is like beginner stuff. The manual says "Same as (x%1) for positive values of x" under the flr() documentation but the % isn't the same as flr() is it?

And then why is it used?

P#23340 2016-06-20 22:26 ( Edited 2016-06-21 07:02)

[ :: Read More :: ]

Anyone make a Wordpress plugin for Pico8 yet?

If not, I think I might make one...want to get games into my blog.

P#23314 2016-06-20 16:32 ( Edited 2016-06-20 21:58)

[ :: Read More :: ]

What's a strategy or method I can explore for generating random platform levels within a given space?

Say I have a 32x32 square and want there to be a floor but random heights and pits. I want there to be exits on N sides so the player can go to the next square. But some squares will have some sides blocked as a dead end. Like a Metroid level, for example.

I can't use sprite maps, right? I would just be placing objects directly into a coordinate table and then drawing from that every cycle. But how do I populate that array smartly?

My big worry is just making sure there aren't any island squares where the player can't reach or exit.

The issue isn't just creating randomness...I know how to do that but how do you create something that smartly groups together blocks within constraints? Pure random placement doesn't do this, I know.

Just looking for thoughts on how to approach it and/or generate such an thing.

Any insight is appreciated.

P#23295 2016-06-20 13:51 ( Edited 2016-06-21 07:46)

[ :: Read More :: ]

Cart #23524 | 2016-06-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

Cart #23165 | 2016-06-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

Keyboard controls
Move - Arrow keys
Shoot - Z or X

My first Pico-8 game following the Game Jam...another shooter, and a very basic side-scrolling one. Time limit style to try and get the most points.

This is also a very real "lessons learned" type of game where I took all the things I learned from the jam and applied them here. I also tried to push myself in a few places to get better.

My first goal for this game was to get better and making sprites. My original theme for this was not a flying lumberjack but it turned out that way, so my sprites are squirrels, trees and jet packs...all in all, not too shabby. I at least proved to myself that making my own sprites is not that far off. However, while my art abilities got a shot in the arm, my sound making skill is totally non-existent. No music and the sounds are horrible. If anyone cares to fill in the blanks, please let me know!

Technically, this game was my chance to practice something that wasn't just a bunch of randomness. All the waves, routes and patterns were chosen and defined. I feel I got the concept down but still need to work on architecture to make things efficient...I think I wasted a lot of space/overhead but hey, it's working. I also made use of saving a high score and it's very easy.

I'm happy with this game in that it shows a lot of progress since my last game, Mass 360, for the jam. Hopefully I can take everything here and parlay that into my next game.

Few things I learned for next time:

  • Libraries are great but expensive. I knew this already from my daily job and it still applies here. I used the particle library for the explosions and blood I know it's overkill.

  • Think about bosses and milestones first. I spent a lot of time planning out the waves, patterns and sequences but not a lot of time on the end boss (and it shows). Thing is, by the time I got to the end, I was kind of anxious to get done so I rushed. I was ready to be done so I chose to be and I probably shouldn't have.

  • Splitting sprites into parts is nifty. I was looking sprite sheets from other games and noticed how they would split up their sheets into parts. Like legs moving was it's own sequence, separate from the top half so you could animate them independently.

  • Timers are a bitch. Seems like you need a lot of them...or at least, I needed a lot of them. It feels wrong needing them so much, so I'm probably making them poorly.

  • I can do pixels but not a sound. I have an art background so learning how to paint in pixels is just a matter of time. But poking around with the sound editor is mind-numbing. I'm not a sound/music guy, I'm just not. Boops and beeps for me, so I need to find collaborators for that stuff.

So please give it a play and see how well you can do. It's not a difficult game by any means. Even shooters aren't your bag, give it go.

Any and all feedback is appreciated. Thanks to everyone here for sharing their knowledge. I used snippets from various posts for various things...from timers to particles to large numbers. I really just assembled all these parts into something with flying squirrels.

P#23166 2016-06-18 23:38 ( Edited 2016-07-19 17:07)

[ :: Read More :: ]

As I keep telling people about Pico8, I always relate it back to NES/Game Boy as a way to convey the "retro-ness" of it. But just for my own curiosity, how does Pico8 compare to real 8-bit era consoles?

I'm always looking back at my favorite games for ideas and things I loved, but need to keep reminding myself that Pico8 is not an NES (nor that it should be).

And I guess, do learned Pico8 skills translate to the skills needed for those old machines? Or does Pico8 make it so nice and easy that it's like night and day?

Just for conversation :)

P#23011 2016-06-16 15:34 ( Edited 2016-06-20 15:42)

[ :: Read More :: ]

Plays like a dream :)

P#22642 2016-06-10 21:20 ( Edited 2016-06-14 17:38)

[ :: Read More :: ]

Since P8 has a 32k limit on numbers, what's the best way (or a way) to have numbers in the 100 thousands or millions and so on?

I mean, I guess I could super fake it by just printing out zeros after a low score integer but is that really the best way to deal with it?

P#22603 2016-06-10 09:43 ( Edited 2016-08-15 09:52)

[ :: Read More :: ]

I'm trying to have an object travel along a curved path as defined by several x/y coordinates. Right now, I have several x/y points defined and my object travels from one to another in a straight line, so I got that far.

I've been trying to get my head around bezier curves, and I've ended up at a lot of math sites that are way to dense...and when I look through source code from carts, I don't know exactly what to look to try and work backwards.

Or is trying to figure out curves not worth the trouble if Pico8 will have trouble doing the math for what could be several paths going on at one time...? They would be fixed paths, not really dynamic or changing, so maybe that will help, dunno.

Any links, insight or examples are appreciated. Meanwhile, I'll keep scouring sites hoping something will click.

P#22549 2016-06-09 11:46 ( Edited 2016-06-12 00:50)

[ :: Read More :: ]

I don't know why he hasn't shared things in the forum yet, but williamanderson is working on a nifty looking shmup that he's shown on Twitter a bit. Hope he does't mind me calling him out for what looks like great work and cool game. Same guy that made Wax the Hippo.

I'm a big shmup fan and it seems like the idea behind his shmup, which I think is called "Monster Hull," is not unlike a monster trainer game where you defeat baddies to collect them and then build them up to keep the battle going.

Sprites look pretty solid but the concept of mixing a trainer with a shmup isn't one I've seen before exactly. Following this one pretty closely and hope it gets shared somewhere soon, even as a demo.

I can't easily copy images from tweets, so here's the one with nice GIF
https://twitter.com/TheWAAnderson/status/738904751719485441

You can follow him on Twitter to get more updates:
https://twitter.com/TheWAAnderson

And if you haven't bothered, do a search on Twitter for the #pico8 hashtag and you'll see all sorts of projects and sprites. A lot of non-game art is using the P8 palette and it's very cool to see.

P#22419 2016-06-06 13:37 ( Edited 2016-06-06 19:13)

[ :: Read More :: ]

I made a map with some sprites that have a flag for walls. The map is at 0,0 and is a 16x16 map. So I use this:

map(0,0, 0,0, 16,16)

It works as expected. But then I want to use a different 16x16 map.

map(46,0, 0,0, 16,16)

When I do this, the right map sprites are displayed on the screen but the flags being used are from the first map...so in-game, the player hits a wall that isn't represented by a sprite, and likewise, the player can walk through places where there are sprites.

It's like it retained the flag placement for the first but is using the second's sprite placement.

Anyone experience anything similar?
Or am I doing something wrong or missing a step?

P#22142 2016-06-02 22:04 ( Edited 2016-06-05 21:36)

[ :: Read More :: ]

I've been looking at a lot of the collision scripts for map tiles and they all make sense and work well...except when I start scrolling the map. I'm trying to make a scrolling side shooter (a la Gradius) but for the life of me can't get the scrolling speeds to match up so that the player doesn't get stuck on the walls.

Collision is working because the player stops but then he can't move up/down or back once he's blocked. I know that moving opposite direction should be doubled (which in this script it's not) but other than that, I just don't have my head around it. Hoping some extra eyeballs can help out.

What I'm trying to achieve is if the player hits a wall, they can at least move any non-blocking direction to avoid getting pushed off the screen.

The scripts I've studied have been great and at least got me this far...I'm just trying to make things move with the camera.


P#21851 2016-05-30 22:42 ( Edited 2016-06-01 01:06)

[ :: Read More :: ]

Hoping that maybe someone has played with a PocketCHIP at some point even though I know they're not shipped yet...just wondering if an 8x8 sprite shows up too tiny on the PChip's display?

I've been making most of my games with 8x8 as the base for characters but wondering if I should shift my thinking to 16x16 or 8x16 or something bigger to show up better on the Pocket...?

P#21723 2016-05-30 01:19 ( Edited 2016-05-31 00:22)

[ :: Read More :: ]

I'm making a circle grow by simply increasing its radius. However, I want it to grow slower than +1 per frame. I'm doing this now by making a counter var for the circle, checking it against a frame timer and then moving on. I end up using this method a lot for various things and that makes me believe there is a better way.

This method clearly works but is there some sort of shorthand or anything I can do to get the same result?

circle={x=64,y=64,r=1,t=0,f=3}

function _update()
    if circle.t>=circle.f then
        circle.r+=1
        circle.t=0
    end

    circle.t+=1

end

function _draw()
    circ(circle.x, circle.y, circle.r, 10)
end
P#21584 2016-05-28 22:48 ( Edited 2016-05-29 04:36)

[ :: Read More :: ]

I went over to TigSource to just browse around now that I'm back into making games and noticed they have a forum gallery of all the images shared in the threads. It's very basic but shows you a TON of images all at once that you can browse through. The Pixel Work and Mockups galleries were very nifty and game me some new games ideas to boot!

http://daid.eu/~daid/tigsource_pics/

Whole point being, it's great for inspiration and learning. I'm not the best at sprite drawing but by finding some on TigSource that fit the minimal nature of Pico-8 and copying them, I feel I have a better understanding of how to break down an image into an 8x8 square.

Sure, some of it is just changing colors but hey, gotta start somewhere. I'm feeling a little left behind with all the great sprite work around here, so I gotta do what I can to catch up ;P

P#21579 2016-05-28 20:59 ( Edited 2016-05-29 19:05)

[ :: Read More :: ]

The PocketCHIP comes with a touch screen, so I'm wondering if Pico-8 games will be able to take advantage of that event?

I know we'll be able to use the touch for drawing sprites in the editor and stuff, but what about in the game. Will there be a ontouch() function or something like that? Or does a touch just register as a Z or X key press?

P#21555 2016-05-28 16:37 ( Edited 2016-06-20 09:09)

View Older Posts